package org.osoftware.mumi.dao.model;

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

/**
 * The Class AttentionTime.
 */
@Entity
@Table(name="attention_time")
public class AttentionTime extends BaseObject{

	/** The Constant serialVersionUID. */
	private static final long serialVersionUID = 4075803893553348077L;
	
	/** The attention time group. */
	@ManyToOne
    @JoinColumn(name = "attention_time_group_id", updatable = false, insertable = false, nullable=false)
	private AttentionTimeGroup attentionTimeGroup;
	
	/** The time and date. */
	@Column(name="time_date")
	private Date timeAndDate;
	
	/** The order. */
	@Column(name="attention_order")
	private Integer attentionOrder;
	
	/** The assigned specialist. */
	@ManyToOne
	@JoinColumn(name = "specialist_id", updatable = false, insertable = false, nullable=false)
	private Specialist assignedSpecialist;
	
	/**
	 * Gets the attention time group.
	 *
	 * @return the attention time group
	 */
	public AttentionTimeGroup getAttentionTimeGroup() {
		return attentionTimeGroup;
	}
	
	/**
	 * Sets the attention time group.
	 *
	 * @param attentionTimeGroup the new attention time group
	 */
	public void setAttentionTimeGroup(AttentionTimeGroup attentionTimeGroup) {
		this.attentionTimeGroup = attentionTimeGroup;
	}
	
	/**
	 * Gets the time and date.
	 *
	 * @return the time and date
	 */
	public Date getTimeAndDate() {
		return timeAndDate;
	}
	
	/**
	 * Sets the time and date.
	 *
	 * @param timeAndDate the new time and date
	 */
	public void setTimeAndDate(Date timeAndDate) {
		this.timeAndDate = timeAndDate;
	}
	
	
	/**
	 * Gets the attention order.
	 *
	 * @return the attention order
	 */
	public Integer getAttentionOrder() {
		return attentionOrder;
	}

	/**
	 * Sets the attention order.
	 *
	 * @param attentionOrder the new attention order
	 */
	public void setAttentionOrder(Integer attentionOrder) {
		this.attentionOrder = attentionOrder;
	}

	/**
	 * Gets the assigned specialist.
	 *
	 * @return the assigned specialist
	 */
	public Specialist getAssignedSpecialist() {
		return assignedSpecialist;
	}
	
	/**
	 * Sets the assigned specialist.
	 *
	 * @param assignedSpecialist the new assigned specialist
	 */
	public void setAssignedSpecialist(Specialist assignedSpecialist) {
		this.assignedSpecialist = assignedSpecialist;
	}

	/* (non-Javadoc)
	 * @see org.osoftware.mumi.dao.model.BaseObject#toString()
	 */
	@Override
	public String toString() {
		return "AttentionTime [attentionTimeGroup=" + attentionTimeGroup
				+ ", timeAndDate=" + timeAndDate + ", order=" + attentionOrder
				+ ", assignedSpecialist=" + assignedSpecialist
				+ ", toString()=" + super.toString() + "]";
	}

}
